<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        // ES6 提供了新的数据结构 Set。它类似于数组，但是成员的值都是唯一的，没有重复的值
        // Set本身是一个构造函数，用来生成 Set 数据结构
        const s = new Set();

        [2,3,3,2,4,5,1,].forEach(x => s.add(x));

        for (let i of s) {
            console.log(i);  // 2,3,4,5,1
        }

        const set = new Set([1,2,3,4,4]);
        console.log(set);
        console.log([...set]);
        console.log(set.entries());

        // Array.from方法可以将 Set 结构转为数组
        // 去除数组重复成员的一种方法
        function dedupe(array) {
            return Array.from(new Set(array));
        }
        let a = dedupe([1,1,2,2,3,4]);
        console.log(a);

        // 扩展运算符和 Set 结构相结合，就可以去除数组的重复成员
        let arr = [4,4,5,5,6,7,8];
        let unique = [...new Set(arr)];
        console.log(unique);


    </script>

</head>
<body>

</body>
</html>